package com.sc.nft.entity.vo;

import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.sc.nft.dto.PrizeDTO;
import com.sc.nft.dto.TaskPrizeDTO;
import com.sc.nft.entity.TaskPrize;
import com.sc.nft.entity.dto.task.LinkDTO;
import com.sc.nft.enums.task.TaskTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import java.math.BigDecimal;
import java.util.List;

@Data
public class TaskListVO {

    @ApiModelProperty("任务id")
    private Long id;

    @ApiModelProperty("任务名称")
    private String taskName;

    @ApiModelProperty("任务类型")
    private TaskTypeEnum type;

    @ApiModelProperty("关联名称(指定藏品/商品任务展示)")
    private List<LinkDTO> linkDTOList;

    @ApiModelProperty("是否优先完成")
    private Boolean priority;

    @ApiModelProperty("任务是否完成")
    private Boolean status;

    @ApiModelProperty("任务按钮文案")
    private String buttonName;
    @ApiModelProperty("任务进度重置 0 当天0点 1每周一0点")
    private Integer taskPlan;
    @ApiModelProperty("任务ICON")
    private String taskIcon;

    @ApiModelProperty("任务完成次数")
    private Integer finishCount;

    @ApiModelProperty("任务总次数")
    private Integer taskSumCount;

    @ApiModelProperty("是否展示进度条")
    private Boolean showProgress;

    @ApiModelProperty("购买指定藏品Id")
    private Long buyCollectionId;
    @ApiModelProperty("当前任务进度")
    private BigDecimal currentPlan;

    @ApiModelProperty("总任务目标")
    private BigDecimal sumPlan;



    @ApiModelProperty("当前任务进度")
    private String currentPlanString;

    @ApiModelProperty("总任务目标")
    private String sumPlanString;

    @ApiModelProperty("任务奖励")
    private List<PrizeDTO> taskPrizes;

}
